<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>错误原因-指定导致即将抛出的错误的原始错误</title>
</head>

<body>
    错误对象现在有一个 cause 属性，用于指定导致即将抛出的错误的原始错误。这有助于为错误添加额外的上下文信息并帮助诊断意外行为，
    <br />
    我们可以通过在作为第二个参数传递给 Error() 构造函数的对象上设置 cause 属性来指定错误的原因。
    <hr />
    作者：广州蓝景实训部
    链接：https://www.zhihu.com/question/24692840/answer/2621670010
    来源：知乎
    著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。
    <script>
        function userAction() {
            try {
                apiCallThatCanThrow();
            } catch (err) {
                throw new Error('New error message', { cause: err });
            }
        }
        try {
            userAction();
        } catch (err) {
            console.log(err);
            console.log(`Cause by: ${err.cause}`);
        }


    </script>
</body>

</html>